package cn.itcalvin.sncoal.cth.service;

import cn.itcalvin.sncoal.cth.domain.ConfigSystem;
import cn.itcalvin.sncoal.cth.domain.ConfigSystemZb;
import cn.itcalvin.sncoal.cth.domain.ConfigSystemZbDetails;
import cn.itcalvin.sncoal.cth.domain.ConfigSystemZbDetailsExt;
import cn.itcalvin.sncoal.cth.pojo.req.config.ReqConfigSystemZbDetailsModify;

import java.util.List;
import java.util.Map;

public interface ConfigSystemService{

    /**
     * 考核的系统模块
     * @return
     */
    List<ConfigSystem> listSystem();

    /**
     * 考核的系统模块下的指标
     * @return
     */
    Map<Long, List<ConfigSystemZb>> listSystemZb();

    /**
     * 考核的系统模块下的指标详情
     * @return
     */
    Map<Long, List<ConfigSystemZbDetails>> listSystemZbDetails();

    /**
     * 修改考核指标详情的溯源方法
     * @param reqConfigSystemZbDetailsModify
     * @return
     */
    Boolean modifyZbDetailsFunction(ReqConfigSystemZbDetailsModify reqConfigSystemZbDetailsModify);

    /**
     * 指标扩展的加载
     * @return
     */
    Map<Long, List<ConfigSystemZbDetailsExt>> listSystemZbDetailsExt();
}
